<!doctype html>
<!--
Tests that window.requestAnimationFrame stops firing while in WebXR presentation
on Android.
-->
<html>
  <head>
    <link rel="stylesheet" type="text/css" href="../resources/webxr_e2e.css">
  </head>
  <body>
    <canvas id="webgl-canvas"></canvas>
    <script src="../../../../../../third_party/blink/web_tests/resources/testharness.js"></script>
    <script src="../resources/webxr_e2e.js"></script>
    <script src="../resources/webxr_boilerplate.js"></script>
    <script>
      setup({single_test: true});

      function stepVerifyBeforePresent() {
        window.requestAnimationFrame( () => {
          finishJavaScriptStep();
        });
      }

      function stepVerifyDuringPresent() {
        let handle = window.requestAnimationFrame( () => {
          numWindowRafs++;
          // Even though we wait for setVSyncPaused to be called Java-side,
          // 1-2 frames might still get window rAFs due to the call to the
          // renderer being asynchronous.
          assert_less_than(numWindowRafs, 3);
        });
        window.setTimeout( () => {
          window.cancelAnimationFrame(handle);
          finishJavaScriptStep();
        }, 500);
      }

      function stepVerifyAfterPresent() {
        window.requestAnimationFrame( () => {
          done();
        });
      }
    </script>
  </body>
</html>
